package com.kla.power.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.kla.power.vo.BaseEntity;

import java.util.Date;
import java.util.List;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 逆变器发电数据
 * </p>
 * @author WuZH
 * @since 2024-06-02
 */
@Getter
@Setter
@TableName ("inverter_electric_info")
@ApiModel (value = "InverterElectricEntity对象", description = "逆变器发电数据")
public class InverterElectricEntity extends BaseEntity {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty ("id")
    @TableId (value = "id", type = IdType.INPUT)
    private String id;

    @ApiModelProperty ("逆变器内部温度")
    @TableField ("inverTemp")
    private String inverTemp;

    @ApiModelProperty ("电网功率")
    @TableField ("gridPower")
    private String gridPower;

    @ApiModelProperty ("总电量")
    @TableField ("totaEnergy")
    private String totaEnergy;

    @ApiModelProperty ("运行总小数")
    @TableField ("totalHours")
    private String totalHours;

    @ApiModelProperty ("运行模式")
    @TableField ("operModel")
    private Integer operModel;

    @ApiModelProperty ("今天发电量")
    @TableField ("todayEnergy")
    private String todayEnergy;

    @ApiModelProperty ("PV1今天")
    @TableField ("channelAEnergy")
    private String channelAEnergy;

    @ApiModelProperty ("PV2今天")
    @TableField ("channelBEnergy")
    private String channelBEnergy;

    @ApiModelProperty ("水槽温度")
    @TableField ("sinkTemp")
    private String sinkTemp;

    @ApiModelProperty ("母线电压")
    @TableField ("busVoltage")
    private String busVoltage;

    @ApiModelProperty ("上电计数器")
    @TableField ("pwrOnCnt")
    private Integer pwrOnCnt;

    @ApiModelProperty ("逆变器SN")
    @TableField ("serialNumber")
    private String serialNumber;

    @ApiModelProperty ("相序")
    @TableField ("phaseNumber")
    private String phaseNumber;

    @ApiModelProperty ("装机容量")
    @TableField ("vaRating")
    private String vaRating;

    @ApiModelProperty ("固件序列号")
    @TableField ("firmwareVer")
    private String firmwareVer;

    @ApiModelProperty ("型号名称")
    @TableField ("madelName")
    private String madelName;

    @ApiModelProperty ("制造商名称")
    @TableField ("manufacturer")
    private String manufacturer;

    @ApiModelProperty ("标称值")
    @TableField ("nomVpv")
    private String nomVpv;

    @ApiModelProperty ("互联网版本")
    @TableField ("interVersion")
    private String interVersion;

    @ApiModelProperty ("数采SN")
    @TableField ("collectorSn")
    private String collectorSn;

    @TableField ("createTime")
    private Date createTime;

    @TableField ("updateTime")
    private Date updateTime;

    @TableField ("isUsed")
    private Integer isUsed;

    @TableField ("stationId")
    private String stationId;

    @TableField (exist = false)
    private List<InverterDcAmountEntity> inverterDcAmountEntityList;

    @TableField (exist = false)
    private List<InverterAcAmountEntity> inverterAcAmountEntityList;

    @TableField(exist = false)
    private Double fullHour; // 满发小时
    @TableField(exist = false)
    private Double avgActivePower; // 功率归一化

    @Override
    public String toString () {
        return "InverterElectricEntity{" +
                "id='" + id + '\'' +
                ", inverTemp='" + inverTemp + '\'' +
                ", gridPower='" + gridPower + '\'' +
                ", totaEnergy='" + totaEnergy + '\'' +
                ", totalHours='" + totalHours + '\'' +
                ", operModel=" + operModel +
                ", todayEnergy='" + todayEnergy + '\'' +
                ", channelAEnergy='" + channelAEnergy + '\'' +
                ", channelBEnergy='" + channelBEnergy + '\'' +
                ", sinkTemp='" + sinkTemp + '\'' +
                ", busVoltage='" + busVoltage + '\'' +
                ", pwrOnCnt=" + pwrOnCnt +
                ", serialNumber='" + serialNumber + '\'' +
                ", phaseNumber='" + phaseNumber + '\'' +
                ", vaRating='" + vaRating + '\'' +
                ", firmwareVer='" + firmwareVer + '\'' +
                ", madelName='" + madelName + '\'' +
                ", manufacturer='" + manufacturer + '\'' +
                ", nomVpv='" + nomVpv + '\'' +
                ", interVersion='" + interVersion + '\'' +
                ", collectorSn='" + collectorSn + '\'' +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", isUsed=" + isUsed +
                '}';
    }
}
